home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / btrieve / xql211.exe / NPATNLM.211 < prev    next >
Text File  |  1992-01-15  |  17KB  |  605 lines

  1. ;    BEGIN - PATCHES FOR NWSQL.NLM  version 2.11
  2. ;
  3. ; * ============================================================= *
  4. ;
  5. ;    Verify that original copy is being used
  6. ;
  7. v 1d2f6 80 60 14 fb 0f bf c2 c1 e0 04 03 45 e0
  8. ;
  9. ;
  10. ;    beginning of patch #1 - incorrect status 43
  11. ;
  12. r 361fc eb 35
  13. ;
  14. ;    end of patch #1
  15. ;
  16. ; * ============================================================= *
  17. ;
  18. ;    beginning of patch #2 - incorrect status 49
  19. ;
  20. r 1d2f6 f6 40 14 04 74 0b 80 60 14 fb 90 90 90
  21. ;
  22. ;    end of patch #2
  23. ;
  24. ; * ============================================================= *
  25. ;
  26. ;    beginning of patch #3 - Abend on CREATE VIEW statement
  27. ;
  28. r 26045 e6 7
  29. r 267a5 fc 7
  30. r 2ca80 e6 7
  31. r 2cabd e6 7
  32. r 3951b ee 7
  33. r 39522 e6 7
  34. r 3956b 02 8
  35. r 39613 fc 7
  36. r 39774 e2 7
  37. r 397b5 fc 7
  38. r 399be fc 7
  39. r 39c2c fc 7
  40. r 3a23f 02 8
  41. r 3a249 fc 7
  42. r 3b939 8b 9e ae 01 0 0
  43. r 3b956 8b 9e ae 01 0 0
  44. r 3b976 8b 8e ae 01 0 0
  45. r 3b99e cc 7
  46. r 3b9df e6 7
  47. r 3b9e7 8b 86 ae 01 0 0
  48. r 3ba1f 8b 96 ae 01 0 0 83 c2 16 eb 7 90 90 e8 0 0 0 0 66 89 2
  49. r 3ba3b 8b 96 ae 01 0 0
  50. r 3ba6f 8b 8e ae 01 0 0
  51. r 3c6fa e6 7
  52. r 488a2 d0 7
  53. ;
  54. ;    end of patch #3
  55. ;
  56. ; * ============================================================= *
  57. ;
  58. ;    beginning of patch #4 - descending keys
  59. ;
  60. r 31f80 66 85 db 74 1d eb 12
  61. ;
  62. ;    end of patch #4
  63. ;
  64. ; * ============================================================= *
  65. ;
  66. ;    beginning of patch #5 - ALTER TABLE with ZSTRING or LSTRING
  67. ;    06/18/91 patch was updated to fix problem which could overwrite
  68. ;         an area of low memory.
  69. ;
  70. r fd4e    e8 8a 9c 03 00 90 90 90 90 90
  71. r d05e    e8 d1 c9 03 00 66 83 7d 42 00 74 08 85 c0 74 77
  72. r d06e    51 51 eb 66
  73. r dceb    03
  74. r 499d6 66 83 7d 72 03 75 42 8b 45 de 80 78 14 0a 75 0c
  75. r 499e6 8b 45 ee 0f b6 00 c6 04 07 00 eb 2d 80 78 14 0b
  76. r 499f6 75 27 56 57 8b 7d ee 06 8c d8 8e c0 29 c9 49 31
  77. r 49a06 c0 f2 ae f7 d1 49 07 41 8b 75 ee 8b 7d e6 d1 e9
  78. r 49a16 66 f2 a5 11 c9 f2 a4 5f 5e 8b 45 de 66 8b 48 1b
  79. r 49a26 8b 45 e6 89 45 e2 c3 8b 8d 6a fe ff ff 83 c1 64
  80. r 49a36 80 7e 14 0a 74 0d 80 7e 14 0b 74 07 b8 01 00 00
  81. r 49a46 00 eb 02 31 c0 c3
  82. ;
  83. ;    end of patch #5
  84. ;
  85. ; * ============================================================= *
  86. ;
  87. ;    beginning of patch #6 - Return error on invalid stored SQL statement
  88. ;
  89. r e10e 66 83 7e 04 00 0f 85 d8 03 00 00 e8 35 b9 03 00
  90. r e4fc e8 61 b5 03 00 90
  91. r 49a4c 66 8b 46 58 66 89 45 fc 0f bf 4d f8 89 f0 c3
  92. r 49a5b 66 83 7e 04 00 75 04 66 89 46 58 89 f0 c3
  93. ;    end of patch #6
  94. ;
  95. ; * ============================================================= *
  96. ;
  97. ;    beginning of patch #7 - Statement returns status code 809
  98. ;
  99. r 74b5 eb 27 90 90 90 90
  100. r 750e 3d
  101. ;
  102. ;    end of patch #7
  103. ;
  104. ; * ============================================================= *
  105. ;
  106. ;    beginning of patch #8 - Default Bfloat mask should have 2 exp
  107. ;
  108. r 33cfa 75 08 80 78 06 02 75 02 66 4a 0f bf c2 03 45 f8
  109. r 33d0a c6 00 2b 48 90 90 90
  110. ;
  111. ;    end of patch #8
  112. ;
  113. ; * ============================================================= *
  114. ;
  115. ;    beginning of patch #9 - xRemall problem
  116. ;
  117. r 3a757 e8 14 f3 00 00
  118. r 49a69 01 c2 89 55 1e 83 7d 32 0 75 06 c7 02 ff ff ff ff c3
  119. ;
  120. ;    end of patch #9
  121. ;
  122. ; * ============================================================= *
  123. ;
  124. ;    beginning of patch #10    Invalid dates
  125. ;
  126. r 23d41 0
  127. r 23d4e 0
  128. ;
  129. ;    end of patch #10
  130. ;
  131. ; * ============================================================= *
  132. ;
  133. ;    beginning of patch #11    Invalid syntax for time arithmetic
  134. ;
  135. r 25db6 66 83 7d f8 04 74 23 66 81 ff 13 01 0f 84 5b ff
  136. r 25dc6 ff ff 90 90 90 90 90 90 90 90 90 90 90
  137. ;
  138. ;    end of patch #11
  139. ;
  140. ; * ============================================================= *
  141. ;
  142. ;    beginning of patch #12  XQLFetch previous problem
  143. ;
  144. r 363d3 8b 86 43 03 00 00 6a 00 50 e8 a7 09 01 00 83 c4 08 eb 0d
  145. r 363e6 90 90 90 90 90 90 90 90 90 90 90 90 90
  146. ;
  147. ;    end of patch #12
  148. ;
  149. ; * ============================================================= *
  150. ;
  151. ;    beginning of patch #13  Prevents overwrite of low memory
  152. ;
  153. r 46122 c7 43 3a ff ff ff ff 66 c7 43 32 ff ff 66 c7 43 62 01 00
  154. r 46135 c7 83 83 01 00 00 05 00 0a 00 8b 82 7a 01 00 00 89 42 16 90 90 90 90
  155. ;
  156. ;    end of patch #13
  157. ;
  158. ; * ============================================================= *
  159. ;
  160. ;    beginning of patch #15. Incorrect results for min/max on autoinc field
  161. ;
  162. r 17ca 8a 65 f8 fe cc 74 1b fe cc 74 34 80 fc 0d 7f 68
  163. r 17da 74 10 80 fc 07 74 53 eb 3d 90 90 90 90 90 90 90 90 90
  164. ;
  165. ;    end of patch #15
  166. ;
  167. ; * ============================================================= *
  168. ;
  169. ;    beginning of patch #16.  Scalar function with substitution variable.
  170. ;
  171. r 11ee6 8b d7 90
  172. r 3b3e0 e8 9d e6 00 00 85 c9 74 1a 90 80 78 11 01 75 37
  173. r 3b3f0 3a 50 08 75 32 8a 55 fc 88 50 08 8a 55 f8 88 50
  174. r 3b400 09 eb 24 0f bf 4d f8 0f bf 5d fc 8b 56 06 89 f8
  175. r 3b410 e8 9f ff ff ff 8b 56 0a 83 fa ff 74 0a e8 88 e6
  176. r 3b420 00 00 e8 8d ff ff ff
  177. r 49a7b 66 81 fb 00 01 74 18 66 81 fb 06 03 74 11 66 81
  178. r 49a8b fb 01 03 74 0a 66 81 fb 04 03 74 03 33 c9 c3 b9
  179. r 49a9b 01 00 00 00 8b 46 06 c3 0f bf 4d f8 0f bf 5d fc
  180. r 49aab 89 f8 c3
  181. ;
  182. ;    end of patch #16
  183. ;
  184. ; * ============================================================= *
  185. ;
  186. ;    beginning of patch #17. Changes magic pointer size by 2 in stproc
  187. ;
  188. r 1603f 52
  189. r 17308 52
  190. ;
  191. ;    end of patch #17
  192. ;
  193. ; * ============================================================= *
  194. ;
  195. ;    beginning of patch #18    fixes data truncation in INSERT INTO...SELECT
  196. ;
  197. r d343 eb 13
  198. ;
  199. ;    end of patch #18
  200. ;
  201. ; * ============================================================= *
  202. ;
  203. ;    beginning of patch #19. status 109 on fetch distinct
  204. ;
  205. r 49aae 8b 56 06 8a 42 20 66 33 d2 32 e4 66 48 74 14 66
  206. r 49abe 48 74 10 66 48 74 06 66 48 74 02 eb 0c 66 83 ff
  207. r 49ace 02 74 12 66 83 ff 03 74 0c 66 83 ff 01 74 06 66
  208. r 49ade 83 ff 04 75 02 66 42 c3
  209. r 3fb e8 5f 97 04 00 66 85 d2 74 31 90 90
  210. r 49b58 53 8b 16 0f b7 52 08 89 f0 bb 01 00 00 00 e8 13
  211. r 49b68 f8 fc ff e8 3e ff ff ff 5b c3
  212. ;
  213. ;    end of patch #19
  214. ;
  215. ; * ============================================================= *
  216. ;
  217. ;    patch #20 Secondary field count not returned by xDescribe
  218. ;
  219. r 1e4ed 8b 45 42 8b 00 89 45 46 8b 45 42 83 00 02 8b 45
  220. r 1e4fd 3e 66 83 00 02 66 8b 00 66 3b 45 7e 7c 04 66 bb
  221. r 1e50d d2 00 80 78 04 02 0f 84 ab 00 00 00
  222. ;
  223. ;    end of patch #20
  224. ;
  225. ; * ============================================================= *
  226. ;
  227. ;    beginning of patch #22 - status 28 returned by ddExtend
  228. ;
  229. r 1cf8c e8 5c cb 02 00 66 85 c0 74 06
  230. r 49ae6 66 8b 45 12 66 05 06 00 66 3b 45 1a 7e 05 66 b8
  231. r 49af6 01 00 c3 66 b8 00 00 c3
  232. ;
  233. ;    end of patch #22
  234. ;
  235. ; * ============================================================= *
  236. ;
  237. ;    patch #23  Autoinc field on INSERT  INTO subquery
  238. ;
  239. r 1ad56 90 3c 0d 0f 8f 0b 02 00 00 74 1e 90 3c 07
  240. r 1ad64 0f 84 e3 01 00 00 e9 b1 00 00 00
  241. r 1ad6f 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
  242. ;
  243. ;    end of patch #23
  244. ;
  245. ; * ============================================================= *
  246. ;
  247. ;    patch #24  GPI from xValidate for ZSTRING to be checked
  248. ;           which is smaller than size indicated in data buffer size
  249. ;           parameter
  250. ;
  251. r 30151 e8 af 99 01 00 90
  252. r 49afe 80 7e 06 0b 75 19 51 57 06 8b 7d d4 8c d8 8e c0
  253. r 49b0e 29 c9 49 31 c0 f2 ae f7 d1 49 89 c8 07 5f 59 c3
  254. ;
  255. ;    end of patch #24
  256. ;
  257. ; * ============================================================= *
  258. ;
  259. ;    patch #25 - When searching for all values in a ZSTRING field
  260. ;            on a BEGINS WITH restriction all records that
  261. ;            begin with all but the last chracter in the
  262. ;            specified string are returned.
  263. ;            If want records that begin with 'abc' then all
  264. ;            records beginning with 'ab' are returned.
  265. ;
  266. r 1f003 85 d2 74 06 e8 6d ab 02 00 90
  267. r 488a2 d0 7
  268. r 49b72 0f bf c6 03 45 e6 48 fe 00 c3
  269. ;
  270. ;    end of patch #25
  271. ;
  272. ; * ============================================================= *
  273. ;
  274. ;    patch #26 *** OPTIONAL ***
  275. ;
  276. ;    Allows use of european format of decimal comma instead of decimal
  277. ;    point.
  278. ;
  279. ;    This patch is NOT applied unless this patch file is modified.
  280. ;
  281. ; DELETE SEMI-COLON AT THE BEGINNING OF THE FOLLOWING LINES TO ENABLE PATCH.
  282. ;
  283. ;r 484a4 2c
  284. ;r 11d7a 2c
  285. ;r 11da1 2c
  286. ;r 5daf 2c
  287. ;r 5e08 2c
  288. ;
  289. ;    end of patch #26
  290. ;
  291. ; * ============================================================= *
  292. ;
  293. ;    patch #29  Fixes problems removing supplemental indexes
  294. ;
  295. r 49b1e 66 30 c0 f6 45 f0 80 74 0b 66 8b 1f 66 3b 5d e8
  296. r 49b2e 75 02 66 40 c3
  297. r 1da03 e8 1d c1 02 00 66 85 c0 74 23 90 90
  298. ;
  299. ;    end of patch #29
  300. ;
  301. ; * ============================================================= *
  302. ;
  303. ;    patch #30 fixes problem with equal comparison of string fields
  304. ;          of different sizes from different files.
  305. ;
  306. r 38f1d 08
  307. r 38f51 66 3b 48 04 77 0e 83 7d 20 00 75 08 90 90 90 90
  308. ;
  309. ;    end of patch #30
  310. ;
  311. ; * ============================================================= *
  312. ;
  313. ;    patch #32   - *** OPTIONAL ***
  314. ;            - xValidate causing memory to be over written
  315. ;              when an invalid field value is given and a view
  316. ;              has not yet been created
  317. ;            - if this patch is applied, a view is created
  318. ;              and an invalid field value is given then the
  319. ;              XQLStatus will not provide the field name associated
  320. ;              with the invalid value
  321. ;
  322. ;
  323. ;    This patch is NOT applied unless this patch file is modified.
  324. ;
  325. ;
  326. ;  DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
  327. ;  ENABLE PATCH.
  328. ;
  329. ;r 30232 eb 16
  330. ;
  331. ;    end of patch #32
  332. ;
  333. ; * ============================================================= *
  334. ;
  335. ;    beginning of patch #33 - Crash on delete of LVAR or NOTE record
  336. ;
  337. r 208e6 39 c1 7e 26 29 c1 0f b7 56 10 8b 45 f0 8b 40 22
  338. r 208f6 01 c2 0f bf 45 f4 8d 3c 02 30 c0
  339. r 2090c 90 90
  340. ;
  341. ;    end of patch #33
  342. ;
  343. ; * ============================================================= *
  344. ;
  345. ;    patch #34 Status 328 on xRestrict
  346. ;
  347. r 25d5b e8 da 3d 02 00 66 85 c0 75 0a 90 90 90 90 90 90 90
  348. r 49b33 8b 56 0a 8b 45 f4 8d 5d fc e8 a1 c1 fd ff 66 8b
  349. r 49b43 d8 66 33 c0 66 81 ff 10 01 74 07 66 81 ff 11 01
  350. r 49b53 75 02 66 40 c3
  351. ;
  352. ;    end of patch #34
  353. ;
  354. ; * ============================================================= *
  355. ;
  356. ;    patch #36 Owner name ignored by xRecall
  357. ;
  358. r 393ac 90 90
  359. ;
  360. ;    end of patch #36
  361. ;
  362. ; * ============================================================= *
  363. ;
  364. ;    patch #40 Field to field comparisons may not return correct records.
  365. ;
  366. r 38ee0 e9 d5 ff ff ff 90
  367. ;
  368. ;    end of patch #40
  369. ;
  370. ; * ============================================================= *
  371. ;
  372. ;    patch #41 XQLFormat sets display size incorrectly for number masks
  373. ;
  374. r 10a31 66 8b 45 fc e9 07 00 00 00
  375. ;
  376. ;    end of patch #41
  377. ;
  378. ; * ============================================================= *
  379. ;
  380. ;    patch #44 xDDDrop may return status 6 removing supplemental index.
  381. ;
  382. r 2c0f9 e8 85 da 01 00 90 6a 00 6a 03 8d 45 14
  383. r 2c117 ba 08 00 00 00
  384. r 2c137 75 c6
  385. r 2c141 7e bc
  386. r 2c172 eb 8b
  387. r 49b7c 66 c7 45 72 20 00 8d 5d 16 c6 03 00 c3
  388. ;
  389. ;    end of patch #44
  390. ;
  391. ; * ============================================================= *
  392. ;
  393. ;    beginning of patch #45 - remove sort order with restriction present
  394. ;
  395. r 37663 66 c7 47 3e 00 00 eb 0c
  396. ;
  397. ;    end of patch #45
  398. ;
  399. ; * ============================================================= *
  400. ;
  401. ;    patch #49 Unformat of string data can cause server to crash.
  402. ;
  403. r 23557 eb 0f
  404. ;
  405. ;    end of patch #49
  406. ;
  407. ; * ============================================================= *
  408. ;
  409. ;    patch #51 Fixes problem where records are returned which do not
  410. ;          meet the restriction on the view.
  411. ;
  412. r 38ec1 f2 fc ff ff
  413. ;
  414. ;    end of patch #51
  415. ;
  416. ; * ============================================================= *
  417. ;
  418. ;    patch #52. Prevents status 224 on UPDATE with subquery
  419. ;
  420. r d4a3 1B
  421. ;
  422. ;    end of patch #52
  423. ;
  424. ; * ============================================================= *
  425. ;
  426. ;    patch #53. Prevents status 265 on xReset.
  427. ;
  428. t 06/04/91
  429. r 40651 e9 3a 95 00 00 90
  430. r 49b89 89 50 12 89 50 0e 66 83 7d fc 22 75 1c
  431.     8b 45 e8 8b 40 16 05 cb 01 00 00 89 45 ec
  432.     8b 45 f0 66 8b 50 1c 8b 45 ec 66 89 50 0c
  433.     e9 99 6a ff ff
  434. ;
  435. ;
  436. ;    end of patch #53
  437. ;
  438. ; * ============================================================= *
  439. ;
  440. ;    patch #54. Creates RIGHTS.DDF with page size of 512.
  441. ;
  442. t 06/07/91
  443. x 1cfde 8b b8 45 00 1a 02
  444. ;
  445. ;    end of patch #54
  446. ;
  447. ; * ============================================================= *
  448. ;
  449. ;    patch #55. Extends MAXEXPLEN to 16k for Substitutions
  450. ;
  451. ;t 06/10/91
  452. x 11425 66 e8 89 94 45 87 fc 03 66 00 89 eb 47 09 04 90
  453. x 49bb7 00 66 00 89 00 45 00 fc 00 66 00 89 00 47 00 04 00 b8 00 14 00 40
  454. x 49bc4 00 c3
  455. ;
  456. ;    end of patch #55
  457. ;
  458. ; * ============================================================= *
  459. ;
  460. ;    patch #56.  Allows full \\server\volname: for external sort
  461. ;            directory path.
  462. ;
  463. t 06/11/91
  464. x 45f54 80 eb 3b 03
  465. ;
  466. ; * ============================================================= *
  467. ;
  468. ;    patch #57.  Does not preserve original page size on ALTER TABLE
  469. ;
  470. r 1f1a 66 b8 00 00 90 90 90
  471. ;
  472. ; * ============================================================= *
  473. ;
  474. ;    patch #59
  475. ;
  476. ;      Return actual Btrieve status code following B_STAT call in
  477. ;     xDDFile and xDDIndex
  478. ;
  479. r 2d377 90 90 90 90 90 90
  480. r 2d757 66 3d 00 00 74 09 66 89 45 62 90 90
  481. ;
  482. ;    end of patch #59
  483. ; * ============================================================= *
  484. ;
  485. ;       patch #62
  486. ;
  487. ;      Return status code 228 for xInsert with a data length less than
  488. ;        zero
  489. o NLM
  490. ;
  491. r 28f58 66 89 45 56 0f bf 55 5a 98 83 ea 02 85 c0 7c 05
  492. r 28f68 90 39 d0 7e 08 66 c7 45 2a e4 00 eb b1 66 8b 45
  493. r 28f78 5a 66 83 e8 02 66 2b 45 56 66 89 45 46
  494. ;
  495. o 0
  496. ;
  497. ; * ============================================================= *
  498. ;
  499. ;       patch #63
  500. ;
  501. ;      Return status code 228 for xUpdate with a data length less than
  502. ;        zero
  503. o NLM
  504. ;
  505. r 3d1f9 66 89 45 3a 0f bf 55 4a 98 83 ea 02 85 c0 7c 05 
  506. r 3d209 90 39 d0 7e 08 66 c7 45 52 e4 00 eb b7 66 8b 55 
  507. r 3d219 4a 66 83 ea 02 66 2b 55 3a 
  508. ;t 08/28/91
  509. ;
  510. o 0
  511. ;
  512. ; * ============================================================= *
  513. ;
  514. ;       patch #64
  515. ;       
  516. ;       allows fetch current with OR optimization
  517. ;
  518. x 35ded bb 8b 01 5d 00 c6 00 90 00 90
  519. ;t 08/28/91
  520. ;
  521. ; * ============================================================= *
  522. ;
  523. ;
  524. ;       patch #65
  525. ;
  526. ;       prevents server abend on UPDATE statement.
  527. ;
  528. r daf3  e8 d4 c0 03 00 66 85 db 75 22 90 
  529. r 49bc5 8B 06 0F BF 40 0E 6B C0 2C 8B 5D D4 3B C3 7F 02
  530. r 49bd5 8B C3 66 8B 5D FC C3
  531. ;t 09/03/91
  532. ;
  533. ; * ============================================================= *
  534. ;
  535. ;       patch #66
  536. ;
  537. ;       This patch corrects a problem which could cause the server to
  538. ;       abend when an attempt is made to execute a query against a view
  539. ;       defined on tables which are subsequently altered. That is,
  540. ;       tables are defined, a view is created on the tables, the tables
  541. ;       are altered, the view which is no longer applicable is used
  542. ;       causing the server to abend.
  543. ;
  544. o NLM
  545. ;
  546. r 26ac4 eb 0c 
  547. t 09/13/91
  548. ;
  549. o 0
  550. ;
  551. ; * ============================================================= *
  552. ;
  553. ;       patch #67
  554. ;
  555. ;       This patch fixes a side-effect of patch #59 which could cause
  556. ;       garbage to be returned in the bDataBuf parameter of xDDIndex.
  557. ;       This problem only occurs if the Btrieve Stat operation fails
  558. ;       for option 1 of xDDIndex.
  559. ;       This problem will cause the workstation to hang when you 
  560. ;       use Xtrieve to SHOW a file definition and the data file does
  561. ;       not exist in the directory specified by the XTRPATH variable.
  562. ;
  563. o NLM
  564. ;
  565. r 40e74 83 7d fc 2b 90
  566. t 11/14/91
  567. ;
  568. o 0
  569. ;
  570. ; * ============================================================= *
  571. ;
  572. ;    patch #68
  573. ;
  574. ;       The patch disables use of Btrieve extended filter 
  575. ;       operations when XQL can perform optimization based on
  576. ;       indexed reads.  In the case of a restriction which provides
  577. ;       values for a segmented index, NWSQL can retrieve the records
  578. ;       more quickly than a Btrieve filtered operation.  This is
  579. ;       true because the Btrieve filter operation will only optimize
  580. ;       on the first segment of the index.
  581. ;
  582. r 3834e eb 27 90 90 90 90 90 90 90 90 90 90
  583. r 38364 90 90 90 90 90 90
  584. t 11/14/91
  585. ;
  586. ; * ============================================================= *
  587. ;
  588. ;    patch #69
  589. ;
  590. ;       This patch prevents the server from crashing when a 
  591. ;       non-stored statement is executed following the
  592. ;       execution of a stored statement containing a UNION.  
  593. ;
  594. o NLM
  595. ;
  596. r 36a   e8 bf 97 04 00 90 90 90
  597. r 49b27 89 50 4c 89 50 48 8b 80 3c 00 00 00 85 c0 75 f0 c3
  598. t 1/15/92
  599. ;
  600. o 0
  601. ;
  602. ; * ============================================================= *
  603. ;
  604. ;    END - PATCHES FOR NWSQL.NLM  version 2.11
  605.